/*
 Problem Description
完数的定义：如果一个大于1的正整数的所有因子之和等于它的本身，则称这个数是完数，
比如6，28都是完数：6=1+2+3；28=1+2+4+7+14。

本题的任务是判断两个正整数之间完数的个数。

Input
输入数据包含多行，第一行是一个正整数n，表示测试实例的个数，然后就是n个测试实例，每个实例占一行，
由两个正整数num1和num2组成,(1<num1,num2<10000) 。
 
Output
对于每组测试数据，请输出num1和num2之间（包括num1和num2）存在的完数个数。
 
Sample Input
2
2 5
5 7
 
Sample Output
0
1
 */
package com.yuan.algorithms.base01;

import java.util.Scanner;

public class HD1406完数 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		for (int i = 0; i < n; i++) {
			int num1 = sc.nextInt();
			int num2 = sc.nextInt();
			if (num1>num2) {
				int t = num1;
				num1 = num2;
				num2 = t;
			}
			int sum = 0;
			for (int j = num1; j <= num2; j++) {
				if(f(j)) {
					sum++;
				}
			}
			System.out.println(sum);
		}
	}

	private static boolean f(int j) {
		int s = 0;
		for (int i = 1; i < j; i++) {
			if (j%i==0) {
				s += i;
			}
		}
		return s==j;
	}

}
